﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Web;

namespace Flitter.Twitter
{
    /// <summary>
    /// Twitter関連の定数を扱います。
    /// </summary>
    public static class TwitterConstants
    {
        /// <summary>
        /// パブリックタイムラインのURLを取得します。
        /// </summary>
        /// <returns>URL</returns>
        public static string GetPublicTimeline()
        {
            return "http://twitter.com/statuses/public_timeline.json";
        }

        /// <summary>
        /// ユーザータイムラインのURLを取得します。
        /// </summary>
        /// <param name="userName">ユーザー名</param>
        /// <returns></returns>
        public static string GetUserTimeline(string userName)
        {
            string url = "http://twitter.com/statuses/user_timeline/{0}.json";
            return string.Format(url, userName);
        }

        /// <summary>
        /// 検索のURLを取得します。
        /// </summary>
        /// <param name="query">検索クエリー</param>
        /// <returns>URL</returns>
        public static string GetSearchTimeline(string query)
        {
            string url = "http://search.twitter.com/search.json?q={0}";
            return string.Format(url, HttpUtility.UrlEncode(query));
        }

        /// <summary>
        /// 与えられたURLが検索のURLかを調べます。
        /// </summary>
        /// <param name="url">URL</param>
        /// <returns>検索URLならばtrue。</returns>
        public static bool IsSearch(string url)
        {
            return url.StartsWith("http://search.twitter.com");
        }

    }
}
